#include "StdAfx.h"
#include "OptPlugin.h"
#include "PluginShimImpl.h"

extern "C" PREFIX OptimusMiniPlugin *CreatePlugin( HMODULE hModule, int function, 
                                            LPARAM Reserved,
                                            WCHAR* managedPluginProgID)
{
	PluginShimImpl *lpPlugin = new PluginShimImpl(function, managedPluginProgID);
	return lpPlugin;
}

extern "C" PREFIX void DeletePlugin( OptimusMiniPlugin* lpPlugin )
{
	delete static_cast<PluginShimImpl*>(lpPlugin);
}

/*
extern "C" __declspec(dllexport) OptimusMiniPlugin *Create( HMODULE hModule, int function, 
                                            LPARAM Reserved,
                                            char* managedPluginProgID)
{
  return CreatePlugin(hModule, function, Reserved, managedPluginProgID);
}

extern "C" __declspec(dllexport) void Delete( OptimusMiniPlugin* lpPlugin )
{
  DeletePlugin(lpPlugin);
}
*/